package com.maimao.core.model.charts;

import lombok.Getter;

/**
 * 订单后台折线+柱状 动态图表 时间聚合类型
 *
 * @author MaoLin Wang
 * @date 2021/3/30 8:12 下午
 */
@Getter
public enum OrderDynamicAggTimeType {

    /**
     * 一小时内每分钟进行聚合
     */
    MINUTE(1, "分分钟", 60),

    /**
     * 一天(距离当前24小时内)内每小时聚合
     */
    HOUR(2, "分小时", 24),

    /**
     * 一月内(距离当前日期30日内)每天聚合
     */
    DAY(3, "分日", 31),

    /**
     * 一年内(距离当前日期一年内)每月聚合
     */
    MONTH(4, "分月", 12),

    /**
     * 仅聚合当前年的每个季度
     */
    QUARTER(5, "分季度", 4),

    /**
     * 近5年每年进行聚合
     */
    YEAR(6, "分年", 6);

    private final Integer code;

    private final String msg;

    private final Integer aggSize;


    OrderDynamicAggTimeType(Integer code, String msg, Integer aggSize) {
        this.code = code;
        this.msg = msg;
        this.aggSize = aggSize;
    }

    public static OrderDynamicAggTimeType getEnumByCode(Integer code) {
        for (OrderDynamicAggTimeType type : values()) {
            if (code.equals(type.getCode())) {
                return type;
            }
        }
        return null;
    }



}
